1. Field of the Invention
The present invention relates to the encoding and decoding of moving picture sequences and is applicable in, for example, a system that uses distributed video coding techniques to distribute moving picture data.
2. Description of the Related Art
Distributed video coding (DVC) is a new coding method, based on the Slepian-Wolf and Wyner-Ziv theorems, that has attracted much recent attention. A basic DVC coding method is described by Aaron et al. in ‘Transform-Domain Wyner-Ziv Codec for Video’, Proc. SPIE Visual Communications and Image Processing, 2004. The encoder treats some frames in a received video sequence as key frames and the rest as Wyner-Ziv frames. The key frames are coded as intraframes. A discrete cosine transform (DCT) is used to transform each Wyner-Ziv frame to the coefficient domain, the coefficients are grouped into bands, the coefficients in the k-th band are quantized by a 2Mk-level quantizer, the quantized coefficients (qk) are expressed in fixed numbers of bits, and the bit planes are extracted and supplied to a Slepian-Wolf encoder that uses a turbo code to produce data bits and error-correcting code bits, generally referred to as parity bits. The data bits are discarded.
The decoder decodes the key frames, uses the decoded key frames to generate a predicted image for each Wyner-Ziv frame, applies a DCT to convert the predicted image to the coefficient domain, groups the coefficients into bands, and inputs the coefficients in each band as side information to a Slepian-Wolf decoder. The Slepian-Wolf decoder uses parity bits received from the encoder to correct prediction errors in the side information by an iterative process, in which the decoder originally receives a subset of the parity bits and may request further parity bits as required. When a satisfactory decoded result is obtained, an inverse discrete cosine transform (IDCT) is applied to reconstruct the image of the Wyner-Ziv frame.
A problem with this method is that feedback from the decoder to the encoder is necessary in order to request additional parity bits. As a result, the encoder and decoder cannot operate independently, and there are inevitable delays involved with requesting and obtaining additional parity bits.
In ‘Encoder Rate Control for Transform Domain Wyner-Ziv Video Coding’, ICIP 2007, Brites et al. describe a DVC system that eliminates feedback. Instead, the encoder estimates the number of parity bits that the decoder will need for adequate decoding of each Wyner-Ziv frame by generating its own predicted image and comparing this predicted image with the original image. The encoder then sends the decoder the estimated number of parity bits without having to be asked for them. That is, the encoder controls its own encoding rate.
Brites et al. use a combination of two methods to estimate the necessary encoding rate. One method assumes that the distribution of the differences between the DCT coefficients of the original image and the predicted image can be approximately modeled by a Laplacian distribution. This model is used to estimate the decoder's prediction error probability. A conditional entropy is then calculated from the estimated error probability, and the necessary encoding rate is estimated from the conditional entropy.
Since the Laplacian model is only approximate, and since the encoder and decoder may generate somewhat different predicted images, the estimated necessary encoding rate will occasionally provide fewer parity bits than the decoder actually needs, causing the decoded image to be visibly distorted. Brites et al. therefore add a supplementary rate calculated from a relative error probability that indicates the probability of errors in new locations in bit planes. By adding the supplementary rate to the encoding rate estimated by the distribution model entropy method, they avoid sending the decoder data that it cannot decode.
A problem is that the supplementary rate is always added, even when it is not needed, so the encoder sometimes outputs more than the necessary number of parity bits. In that case, the supplementary parity bits do not improve the quality of the decoded image; the decoding result is the same as if the supplementary parity bits had not been sent. The only effect of the supplementary parity bits is to waste computational resources in the encoder and decoder and communication resources on the link between them.
This is a serious shortcoming in a video distribution system. It would be preferable if the encoder could tell when the supplementary parity bits were needed and send them only when necessary.